In [1]:
%matplotlib inline
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
In [2]:
df = pd.read_csv('red_led.csv')
In [8]:
plt.plot(df.x_scaled, df.y_scaled)
plt.xlabel('Volts [V]')
plt.ylabel('Current [mA]')
plt.xlim(1.6, 1.85)
plt.ylim(-2.6, 0.1)
Out[8]:
In [15]:
plt.plot(df.x_scaled, 1000*df.y_scaled, 'b.')
plt.xlabel('Volts [V]')
plt.ylabel(u'Current [µA]')
plt.xlim(0.5, 1)
plt.ylim(-30, 30)
Out[15]:
Tiny offset from zero here, but overall it looks pretty good.
In [21]:
np.std(df.y_scaled[np.logical_and(df.x_scaled < 1, df.x_scaled > 0.5)], ddof=1)*1000
Out[21]:
With default analogRead
settings, 12-bit resolution, we see 4 µA measured current noise on 10 mA full scale, with no effort to reduce the bandwidth of any of the components.
In [25]:
(4./10000)**-1
Out[25]: